package Cooperado;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

import Estado.Estado;
import Util.Conexao;

public class CooperadoDao {

	Conexao cx = new Conexao();
	
	public void AddCooperado(Cooperado cop)
	{
		cx.OpenConection();
		cx.getSessao().save(cop);
		cx.CloseConection();
	}
	public void RemoveCooperado (Cooperado cop)
	{
		cx.OpenConection();
		cx.getSessao().delete(cop);
		cx.CloseConection();
	}
	public void UpdateCooperado (Cooperado cop)
	{
		cx.OpenConection();
		cx.getSessao().update(cop);
		cx.CloseConection();
	}
	public List <Cooperado> listarCooperado()
	{
		Criteria listaCoop = cx.getTransacao().createCriteria(Cooperado.class);
		listaCoop.addOrder(Order.asc("nomePessoa"));
		return listaCoop.list();
	}
	public List <Cooperado> listarCoopedadoDSC (String dsc)
	{
		Criteria listCoop = cx.getTransacao().createCriteria(Cooperado.class);
		listCoop.add(Restrictions.like("nomePessoa", "%" + dsc + "%"));
		listCoop.addOrder(Order.asc("nomePessoa"));
		return listCoop.list();
	}
	public Cooperado listarCooperadoCOD (int cod)
	{
		Criteria listCoop = cx.getTransacao().createCriteria(Cooperado.class);
		listCoop.add(Restrictions.like("codPessoa", cod));
		return (Cooperado) listCoop.uniqueResult();
	}
	public Cooperado listarCooperadoCNPJ (int CNPJ)
	{
		Criteria listCoop = cx.getTransacao().createCriteria(Cooperado.class);
		listCoop.add(Restrictions.like("CNPJ", CNPJ));
		return (Cooperado) listCoop.uniqueResult();
	}
	
}
